package com.ty.dao;

import com.ty.bean.Courier;

import java.util.List;

/**
 * @author 田野
 */
public interface BaseCourierDao {
    /**
     * 用于查询快递员总人数(size)以及日注册量(day_reg)
     *
     * @return
     */
    List<Integer> console();

    /**
     * 用于分页查询数据库中的所有快递员信息
     *
     * @param limit      true表示开启分页查询(默认) false 表示查询所有快递员
     * @param offset     表示 SQL 语句起始索引
     * @param pageNumber 表示页查询快递员数量
     * @return List<Courier> 快递员集合
     */
    List<Courier> findAll(boolean limit, int offset, int pageNumber);

    /**
     * 根据快递员编号查询快递员信息
     *
     * @param id 快递员编号
     * @return Courier
     */
    Courier findById(int id);

    /**
     * 根据手机号码查询快递员信息
     *
     * @param phone 手机号码
     * @return Courier
     */
    Courier findByPhone(String phone);

    /**
     * 根据身份证号码查询快递员信息
     *
     * @param idCard 身份证号码
     * @return Courier
     */
    Courier findByIdCard(String idCard);

    /**
     * 新增快递员
     * @param courier
     * @return
     */
    boolean insert(Courier courier);

    /**
     * 根据id修改快递员信息
     *
     * @param id
     * @param newCourier
     * @return
     */
    boolean update(int id, Courier newCourier);

    /**
     * 根据电话号码删除快递员信息
     *
     * @param id
     * @return
     */
    boolean delete(int id);

}
